Your scripts can control just about everything
associated with Internet Explorer:
The position and dimensions of the window
Whether the menu bar, toolbar, and status bar are displayed
The current URL
Sending the browser backward and forward between navigated URLs
Displaying a Web Page
To get started, I show you how to use the InternetExplorer object to display a specified URL. You use the Navigate method to do this, and this method uses the following syntax:
InternetExplorer.Navigate URL [, Flags,] [ TargetFramename] [, PostData] [ ,Headers]
InternetExplorer | A reference to the InternetExplorer object with which you’re working. |
URL | The address of the web page you want to display. |
Flags | One of (or the sum of two or more of) the following integers that control various aspects of the navigation: |
| 1 | Opens the URL in a new window |
| 2 | Prevents the URL from being added to the history list |
| 4 | Prevents the browser from reading the page from the disk cache |
| 8 | Prevents the URL from being added to the disk cache |
TargetFrameName | The name of the frame in which to display the URL. |
PostData | Specifies additional POST
information that HTTP requires to resolve the hyperlink. The most
common uses for this argument are to send a web server the contents of a
form, the coordinates of an image map, or a search parameter for an ASP
file. If you leave this argument blank, this method issues a GET call. |
Headers | Specifies header data for the HTTP header. |
Here’s an example:
Set objIE = CreateObject("InternetExplorer.Application")
objIE.Navigate "http://www.microsoft.com/"
Navigating Pages
Displaying a specified web page isn’t the only thing the InternetExplorer
object can do. It also has quite a few methods that enable you to
navigate backward and forward through visited web pages, refresh the
current page, stop the current download, and more. Here’s a summary of
these methods:
GoBack | Navigates backward to a previously visited page |
GoForward | Navigates forward to a previously visited page |
GoHome | Navigates to Internet Explorer’s default Home page |
GoSearch | Navigates to Internet Explorer’s default Search page |
Refresh | Refreshes the current page |
Refresh2 | Refreshes the current page using the following syntax: Refresh2(Level) |
| Level | A constant that determines how the page is refreshed: |
| | 0 | Refreshes the page with a cached copy |
| | 1 | Refreshes the page with a cached copy only if the page has expired |
| | 3 | Performs a full refresh (doesn’t use a cached copy) |
Stop | Cancels the current download or shuts down dynamic page objects, such as background sounds and animations |
Using the InternetExplorer Object’s Properties
Here’s a summary of many of the properties associated with the InternetExplorer object:
Busy | Returns True if the InternetExplorer object is in the process of downloading text or graphics. This property returns False when a download of the complete document has finished. |
FullScreen | A
Boolean value that toggles Internet Explorer between the normal window
and a full-screen window in which the title bar, menu bar, toolbar, and
status bar are hidden. |
Height | Returns or sets the window height. |
Left | Returns or sets the position of the left edge of the window. |
LocationName | Returns the title of the current document. |
LocationURL | Returns the URL of the current document. |
MenuBar | A Boolean value that toggles the menu bar on and off. |
StatusBar | A Boolean value that toggles the status bar on and off. |
StatusText | Returns or sets the status bar text. |
ToolBar | A Boolean value that toggles the toolbar on and off. |
Top | Returns or sets the position of the top edge of the window. |
Type | Returns the type of document currently loaded in the browser. |
Visible | A Boolean value that toggles the object between hidden and visible. |
Width | Returns or sets the window width. |
Running Through a Sample Script
To put some of the properties and methods into practice, Listing 1 shows a sample script.
Listing 1. Script That Puts the InternetExplorer Object Through Its Paces
Option Explicit Dim objIE, objWshShell, strMessage, intResult
' Set up the automation objects Set objIE = WScript.CreateObject("InternetExplorer.Application") Set objWshShell = WScript.CreateObject("WScript.Shell")
' Navigate to a page and customize the browser window objIE.Navigate "http://www.wordspy.com/" objIE.Toolbar = False objIE.StatusBar = False objIE.MenuBar = False
' Twiddle thumbs while the page loads Do While objIE.Busy Loop
' Get the page info strMessage = "Current URL: " & objIE.LocationURL & vbCrLf & _ "Current Title: " & objIE.LocationName & vbCrLf & _ "Document Type: " & objIE.Type & vbCrLf & vbCrLf & _ "Would you like to view this document?"
' Display the info intResult = objWshShell.Popup(strMessage, , "Scripting IE", vbYesNo + vbQuestion)
' Check the result If intResult = vbYes Then
' If Yes, make browser visible objIE.Visible = True Else
' If no, bail out objIE.Quit End If Set objIE = Nothing Set objWshShell = Nothing
|
The script begins by creating instances of the InternetExplorer and WScript Shell objects. The Navigate method displays a page, and then turns off the toolbar, status bar, and menu bar. A Do...Loop checks the Busy property and loops while it’s True.
In other words, this loop won’t exit until the page is fully loaded. A
string variable is used to store the URL, the title, and type of the
page, and this string is then displayed in a Popup
box, which also asks whether the user wants to see the page. If the
user clicks the Yes button, the browser is made visible. If the user
clicks the No button, the Quit method shuts down the browser.